import win32com.client
import time
import threading
from win32com.client import Dispatch
from win32com.client import DispatchWithEvents
from win32com.client import gencache
from tkinter import *

# 拿到OPC DA组件
dll = gencache.EnsureModule('{28E68F91-8D75-11D1-8DC3-3C302A000000}', 0, 1, 0)
# 获取OPCServer实例
opcserver = dll.OPCServer()
# 获得OPCServer的名称，默认选用第一个（也只安装一个）
server_name = opcserver.GetOPCServers()[0]
# 连接OPCServer
opcserver.Connect(server_name)
# 拿到组实例，初始化OPCServer的Groups的默认属性
groups = opcserver.OPCGroups
groups.DefaultGroupIsActive = True
groups.DefaultGroupDeadband = 0
groups.DefaultGroupUpdateRate = 200
# 添加组，并订阅回调事件
# group = DispatchWithEvents(groups.Add('Group1'), GroupEvent)
# 初始化KepServer的Group的默认属性
group = groups.Add('Group1')
group.IsActive = True
group.IsSubscribed = True
group.UpdateRate = 100
# 初始化KepServer的browser
# group.AsyncReadComplete += group_AsyncReadComplete
browser = opcserver.CreateBrowser()
browser.ShowBranches()
browser.ShowLeafs(True)
'''
以上都是常规动作
'''
# 遍历browser
for item in browser:
    if "急停" in item:
        print(type(item))

